#if !defined(APP_POOL_H)
#define APP_POOL_H

// 任务结构体
typedef struct
{
    int (*task_fun)(void *arg); // 任务函数
    void *arg;  // 任务参数
} Task;

/**
 * @brief 初始化线程池(同时创建消息队列)
 * @param size 线程池大小
 * @return int 0:成功 -1:失败
 */
int app_pool_init(int size);

/**
 * @brief 关闭线程池
 * @return int 0:成功 -1:失败
 */
int app_pool_close();

/**
 * @brief 向线程池中添加任务
 * @param func 任务函数
 * @param argv 任务参数
 */
int app_pool_registerTask(int (*task_fun)(void *arg), void *argv);


int app_pool_destroy();
#endif // APP_POOL_H
